/**
 * Project Name:bfs
 * File Name:configurationManagementDao.java
 * Package Name:com.zeei.dsas.dao
 * Date:2016年9月28日下午2:10:45
 * Copyright (c) 2016, ZEEI All Rights Reserved. *
 *
 * ClassName:configurationManagementDao 
 * Function: TODO ADD FUNCTION.  
 * @author   chq
 * @since    JDK 1.8	 
 */

package com.zeei.bfs.dao;

import java.util.List;
import java.util.Map;

import com.zeei.bfs.vo.GeneralCategory;
import com.zeei.bfs.vo.RoleButtonVO;
import com.zeei.bfs.vo.SystemLog;
import com.zeei.bfs.vo.UserButtonVO;
import com.zeei.common.vo.PointSysTypeVO;

public interface ConfigurationManagementDao {
	/**
	 * 
	 * queryDictionaryMessage:(查询通用字典信息).
	 *
	 * @param generalCategoryParam
	 * @return
	 */
	public List<GeneralCategory> queryDictionaryMessage(GeneralCategory generalCategoryParam);

	/**
	 * 
	 * querySystemLogMessage:(查询系统操作日志信息).
	 *
	 * @param systemLogparam
	 * @return
	 */
	public List<SystemLog> querySystemLogMessage(SystemLog systemLogparam);

	/**
	 * 
	 * updateDictionaryByGeneralCode:(更新通过通用字典码更改通用字典信息).
	 *
	 * @param generalCategoryParam
	 * @return
	 */
	public Integer updateDictionaryByGeneralCode(GeneralCategory generalCategoryParam);

	/**
	 * 
	 * updateDictionaryByGeneralCode:(新增通用字典信息).
	 *
	 * @param generalCategoryParam
	 * @return
	 */
	public Integer addDictionary(GeneralCategory generalCategoryParam);

	/**
	 * 
	 * updateDictionaryByGeneralCode:(删除通用字典信息).
	 *
	 * @param generalCategoryParam
	 * @return
	 */
	public Integer dropDictionary(String generalCode);

	/**
	 * 
	 * dictionaryEdit:(查询通用字典类别).
	 *
	 * @param generalCategoryParam
	 * @return
	 */
	public List<GeneralCategory> getCategoryClass(GeneralCategory generalCategoryParam);
	/**
	 * 
	 * dictionaryEdit:(查询通用字典类别).
	 *
	 * @param generalCategoryParam
	 * @return
	 */
	public List<GeneralCategory> getCategoryName(GeneralCategory generalCategoryParam);

	/**
	 * 
	 * dictionaryEdit:(查询通用字典).
	 *
	 * @param generalCategoryParam
	 * @return
	 */
	public List<GeneralCategory> getCategoryList(String categoryclass);
	
	/**
	 * 
	 * queryCategoryClassBySystemType:(根据系统类型查询对应的系统因子类型数据). 
	 *
	 * @param map
	 * @return
	 */
	public List<GeneralCategory> queryCategoryClassBySystemType(Map<String,Object> map);

	public boolean validGeneralCode(String generalCode);

	/**
	 * 方法描述:添加字典类别
	 *
	 * @param generalCategoryParam
	 * @return
	 */
	public Integer addDictionaryType(GeneralCategory generalCategoryParam);

	/**
	 * 方法描述:批量删除字典
	 *
	 * @param list
	 * @return
	 */
	public Integer dropDictionaryList(List<String> list);

	/**
	 * 方法描述:通过条件查询字典信息
	 *
	 * @param condition
	 * @return
	 */
	public List<GeneralCategory> queryDictionaryMessageByCondition(Map<String, Object> condition);

	public List<RoleButtonVO> getRoleButton();

	public List<UserButtonVO> getUserButton();

	/**
	 * 方法描述:通过系统类型查询系统下的字典信息
	 *
	 * @param condition
	 * @return
	 */
	public List<GeneralCategory> getCategoryListBySystemType(Map<String, Object> condition);

	/**
	 * 方法描述:查询数据库存在的表
	 *
	 * @param tableNames
	 * @return
	 */
	public List<String> getExistsTable(Map<?, ?> condition);

	public List<PointSysTypeVO> getSystemTable(Map<?, ?> condition);

	public String getSystemTableByDataType(Map<?, ?> condition);
}
